Vou ter que fazer e testar na minha maquina, agora estou no trabalho, sem condições
Bom dia
passando pra perguntar se você obteve algum sucesso?
Grato
info
Grupo: Barão
Registrado: 28/10/10
Posts: 206
Reputação: +65
Char no Tibia: Mage Junkie

Vou ter que fazer e testar na minha maquina, agora estou no trabalho, sem condições
Bom dia
passando pra perguntar se você obteve algum sucesso?
Grato
info
Grupo: Herói
Registrado: 01/05/08
Posts: 2.6k
Reputação: +536
Gênero: Masculino

Bom dia
passando pra perguntar se você obteve algum sucesso?
Grato
Sem sucesso
esse fds foi corrido pra mim, logo tentarei novamente, abraço!
info
Grupo: Visconde
Registrado: 02/10/13
Posts: 320
Reputação: +22
Gênero: Masculino

para eu adicionar mais items como recompensa é só eu colocar mais virgulas? assim? prize = {2160, count},{2133,count},?
info
Grupo: Herói
Registrado: 01/05/08
Posts: 2.6k
Reputação: +536
Gênero: Masculino

para eu adicionar mais items como recompensa é só eu colocar mais virgulas? assim? prize = {2160, count},{2133,count},?
Tenta assim:
local config = {
name = "monster_name", --Nome do monstro.
minDamage = 7000, --Dano mínimo para receber as recompensas.
items = {
prize = {
{itemid, count}, --{ID do item, quantidade}
{itemid, count}, --{ID do item, quantidade}
{itemid, count} --{ID do item, quantidade}
},
medal = xxx, --ID da medalha.
},
storage = 91828,
}
function onStatsChange(cid, attacker, type, combat, value)
if isPlayer(attacker) and isMonster(cid) and getCreatureName(cid) == config.name and type == STATSCHANGE_HEALTHLOSS then
local damage = getPlayerStorageValue(attacker, config.storage) < 1 and 0 or getPlayerStorageValue(attacker, config.storage)
setPlayerStorageValue(attacker, config.storage, damage + value)
end
return true
end
function onDeath(cid, corpse, deathList)
for _, pid in pairs(deathList) do
local damage = getPlayerStorageValue(pid, config.storage)
if damage >= config.minDamage then
local str = ""
for _, item in pairs(config.items.prize) do
str = str .. ", " .. item[2] .."x " .. getItemNameById(item[1])
doPlayerAddItem(pid, item[1], item[2])
end
doPlayerSendTextMessage(pid, 27, "Por matar um "..config.name..", voce recebeu uma medalha e " .. string.sub(str, 3, #str) ..".")
doItemSetAttribute(doPlayerAddItem(pid, config.items.medal, 1), "description", "Medalha de honra ganha por "..getCreatureName(pid).." por ajudar a derrotar o "..config.name.." no dia "..os.date("%D")..".")
setPlayerStorageValue(pid, config.storage, -1)
end
end
db.executeQuery("UPDATE player_storage SET value = -1 WHERE key = "..config.storage)
return true
end
Editado Agosto 24 por Bruno Minervino
info
Grupo: Marquês
Registrado: 03/02/13
Posts: 1.2k
Reputação: +254
Gênero: Masculino
Char no Tibia: Partiu Baladinha

Tópico Movido
Este tópico foi movido de "OTServ → Suporte OTServ → Suporte Scripting"
para "OTServ → Suporte OTServ → Suporte Scripting → Pedidos e dúvidas resolvidos - Scripting".
info
Grupo: Herói
Registrado: 20/09/12
Posts: 2.6k
Reputação: +1.1k
Gênero: Masculino
local config = {
name = "monster_name", --Nome do monstro.
minDamage = 7000, --Dano mínimo para receber as recompensas.
items = {
prize = {itemid, count}, --{ID do item, quantidade}
medal = xxx, --ID da medalha.
},
storage = 91828,
}
function onStatsChange(cid, attacker, type, combat, value)
if isPlayer(attacker) and isMonster(cid) and getCreatureName(cid) == config.name and type == STATSCHANGE_HEALTHLOSS then
local damage = getPlayerStorageValue(attacker, config.storage) < 1 and 0 or getPlayerStorageValue(attacker, config.storage)
setPlayerStorageValue(attacker, config.storage, damage + value)
end
return true
end
function onDeath(cid, corpse, deathList)
for _, pid in pairs(deathList) do
local damage = getPlayerStorageValue(pid, config.storage)
if damage >= config.minDamage then
local item = doCreateItemEx(config.items.prize[1], config.items.prize[2])
doPlayerSendTextMessage(pid, 27, "For helping killing "..config.name..", you received a medal and "..config.items.prize[2].."x "..getItemNameById(config.items.prize[1])..".")
doPlayerSendMailByName(getCreatureName(pid), item)
doItemSetAttribute(doPlayerAddItem(pid, config.items.medal, 1), "description", "Medalha de honra ganha por "..getCreatureName(pid).." por ajudar a derrotar o "..config.name.." no dia "..os.date("%D")..".")
setPlayerStorageValue(pid, config.storage, -1)
end
end
db.executeQuery("UPDATE player_storage SET value = -1 WHERE key = "..config.storage)
return true
end
Editado Agosto 11 por zipter98